{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": [],
      "authorship_tag": "ABX9TyOOUfD65bH337wekz2krl+p",
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/nceder/qpb4e/blob/main/code/Chapter%2004/Chapter_04.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "# 4 The absolute basics\n",
        "\n",
        "# 4.3 Variables and assignments"
      ],
      "metadata": {
        "id": "n2wTDJwP0584"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "a = [1, 2, 3]\n",
        "b = a\n",
        "c = b\n",
        "b[1] = 5\n",
        "print(a, b, c)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "8g8jx3UEmqH-",
        "outputId": "469dbaec-c43b-40e8-f031-075acaaaa69c"
      },
      "execution_count": 2,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[1, 5, 3] [1, 5, 3] [1, 5, 3]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "a = 1\n",
        "b = a\n",
        "c = b\n",
        "b = 5\n",
        "print(a, b, c)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "1c49W7Dym7Db",
        "outputId": "93b79f17-602d-474b-c67d-ffc74732017f"
      },
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "1 5 1\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "x = \"Hello\"\n",
        "print(x)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ULaLK8hkm9R4",
        "outputId": "c31eb2f8-c559-4c83-8ca5-e272d53b9e1b"
      },
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Hello\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "x = 5\n",
        "print(x)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "LbBk2lQ2m_Z5",
        "outputId": "e5cf2c75-da77-44c0-cfe2-80900068d6b0"
      },
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "5\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "del x\n",
        "print(x)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 159
        },
        "id": "-jyNp9ObnCfa",
        "outputId": "692728f0-4f10-4221-d0cb-c6cc65be9f51"
      },
      "execution_count": 6,
      "outputs": [
        {
          "output_type": "error",
          "ename": "NameError",
          "evalue": "name 'x' is not defined",
          "traceback": [
            "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
            "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
            "\u001b[0;32m<ipython-input-6-8c23cd95a3fd>\u001b[0m in \u001b[0;36m<cell line: 2>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0;32mdel\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
            "\u001b[0;31mNameError\u001b[0m: name 'x' is not defined"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "# 4.4 Optional type hints in Python"
      ],
      "metadata": {
        "id": "ZOknedM1zwHR"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "def add_ints(x: int, y: int) -> int:      #A\n",
        "     return x + y\n",
        "\n",
        "p: int = 2.3                               #B\n",
        "z = add_ints(1, 2)\n",
        "w = add_ints(1.5, 2.5)                     #C"
      ],
      "metadata": {
        "id": "THuDfQodnILY"
      },
      "execution_count": 7,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "# 4.5 Expressions"
      ],
      "metadata": {
        "id": "PasAeyCPz5Wj"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "x = 3\n",
        "y = 5\n",
        "z = (x + y) / 2"
      ],
      "metadata": {
        "id": "qFHAMthGnPcy"
      },
      "execution_count": 8,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "### Try This: variables and expressions\n",
        "In the cell below, create some variables. What happens when you try to put spaces, dashes, or other nonalphanumeric characters in the variable name? Play around with a few complex expressions, such as x = 2 + 4 * 5 - 6 / 3. Use parentheses to group the numbers in different ways, and see how that changes the result compared with the original ungrouped expression."
      ],
      "metadata": {
        "id": "DosYeymmQxJ-"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# enter you experiments in this cell\n",
        "\n"
      ],
      "metadata": {
        "id": "t_djqE0_RIdl"
      },
      "execution_count": 9,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "# 4.6 Strings"
      ],
      "metadata": {
        "id": "AAnlYyi2z_Lo"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "x = \"\\tThis string starts with a \\\"tab\\\".\"\n",
        "x = \"This string contains a single backslash(\\\\).\""
      ],
      "metadata": {
        "id": "3kCtEdNknVGM"
      },
      "execution_count": 10,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "x = \"Hello, World\"\n",
        "x = 'Hello, World'"
      ],
      "metadata": {
        "id": "2s1sB74wnePS"
      },
      "execution_count": 11,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "x = \"Don't need a backslash\"\n",
        "x = 'Can\\'t get by without a backslash'\n",
        "x = \"Backslash your \\\" character!\"\n",
        "x = 'You can leave the \" alone'"
      ],
      "metadata": {
        "id": "uX_b6XDgng5Y"
      },
      "execution_count": 12,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# This Python code will cause an ERROR -- you can't\n",
        "# split the string across two lines.\n",
        "x = \"This is a misguided attempt to\n",
        "put a newline into a string without using backslash-n\""
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 106
        },
        "id": "ymI9qau7ni4U",
        "outputId": "0be2e90a-8c81-421f-e08e-57e9cff85e18"
      },
      "execution_count": 13,
      "outputs": [
        {
          "output_type": "error",
          "ename": "SyntaxError",
          "evalue": "unterminated string literal (detected at line 3) (<ipython-input-13-89072b650f20>, line 3)",
          "traceback": [
            "\u001b[0;36m  File \u001b[0;32m\"<ipython-input-13-89072b650f20>\"\u001b[0;36m, line \u001b[0;32m3\u001b[0m\n\u001b[0;31m    x = \"This is a misguided attempt to\u001b[0m\n\u001b[0m        ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m unterminated string literal (detected at line 3)\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "x = \"\"\"Starting and ending a string with triple \" or ' characters\n",
        "permits embedded newlines, and the use of \" and ' without\n",
        "backslashes\"\"\""
      ],
      "metadata": {
        "id": "QzPjbAtEnksr"
      },
      "execution_count": 14,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "# 4.7 Numbers"
      ],
      "metadata": {
        "id": "4ird8jPC0FT3"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "5 + 2 - 3 * 2"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "bYtpe0AanqRN",
        "outputId": "f6e29164-0751-4648-98b5-f9d77bdf0109"
      },
      "execution_count": 15,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "1"
            ]
          },
          "metadata": {},
          "execution_count": 15
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "5 / 2          # floating-point result with normal division"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "mv9KGuIznt_2",
        "outputId": "e7385080-ad64-4bf1-d0f1-ebcbe053ad53"
      },
      "execution_count": 16,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "2.5"
            ]
          },
          "metadata": {},
          "execution_count": 16
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "5 / 2.0        # also a floating-point result"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "T94Vuznjnv5i",
        "outputId": "310382a3-0628-4e66-8f41-a9ea84e44140"
      },
      "execution_count": 17,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "2.5"
            ]
          },
          "metadata": {},
          "execution_count": 17
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "5 // 2         # integer result with truncation when divided using '//'"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "aBkXuygAnysg",
        "outputId": "0e812cbb-103a-4ba1-83d5-2ce7a0717edc"
      },
      "execution_count": 18,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "2"
            ]
          },
          "metadata": {},
          "execution_count": 18
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "30000000000    # This would be too large to be an int in many languages"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "6Wv3oCN-n0nQ",
        "outputId": "a99fe050-80e9-463a-9f03-dbe0aa977cae"
      },
      "execution_count": 19,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "30000000000"
            ]
          },
          "metadata": {},
          "execution_count": 19
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "30000000000 * 3"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "bdMAGZRjn23-",
        "outputId": "e3a670eb-1b09-435a-cc07-0978cb29c5fb"
      },
      "execution_count": 20,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "90000000000"
            ]
          },
          "metadata": {},
          "execution_count": 20
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "30000000000 * 3.0"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "XCU8_ZhYn4kS",
        "outputId": "4679224b-8875-4808-b847-9a61ad10fd53"
      },
      "execution_count": 21,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "90000000000.0"
            ]
          },
          "metadata": {},
          "execution_count": 21
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "2.0e-8         # Scientific notation gives back a float"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "3QLLaI2rn9Ys",
        "outputId": "a8120eaa-7224-4650-d8f2-5144ce038dd1"
      },
      "execution_count": 22,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "2e-08"
            ]
          },
          "metadata": {},
          "execution_count": 22
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "3000000 * 3000000"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Jo0QnEKqn_5p",
        "outputId": "bd7117e4-8ddf-44c2-c61a-2ff2bab982df"
      },
      "execution_count": 23,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "9000000000000"
            ]
          },
          "metadata": {},
          "execution_count": 23
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "int(200.2)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "wfMiX4h2oKn4",
        "outputId": "3ed80338-e03d-460b-b6b7-f54287357f32"
      },
      "execution_count": 24,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "200"
            ]
          },
          "metadata": {},
          "execution_count": 24
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "int(2e2)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "_mtTjgnWoFMK",
        "outputId": "3f874e8a-f5a8-44fd-ddbf-108c538c890a"
      },
      "execution_count": 25,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "200"
            ]
          },
          "metadata": {},
          "execution_count": 25
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "float(200)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Z-k6n72boHn5",
        "outputId": "e6852a3c-7f62-4828-d37a-cb08c6f81f93"
      },
      "execution_count": 26,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "200.0"
            ]
          },
          "metadata": {},
          "execution_count": 26
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "## 4.7.4 Complex numbers"
      ],
      "metadata": {
        "id": "sLWi1fGJ0Ksc"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "(3+2j)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "b4Ep86IEoUFm",
        "outputId": "ee5a93ec-f67b-4ba1-f034-626f9eb13c6b"
      },
      "execution_count": 27,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(3+2j)"
            ]
          },
          "metadata": {},
          "execution_count": 27
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "3 + 2j - (4+4j)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "sN8M2R51oaXg",
        "outputId": "1c7eb90a-686d-4399-8ad3-4fdc1b2b9de0"
      },
      "execution_count": 28,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(-1-2j)"
            ]
          },
          "metadata": {},
          "execution_count": 28
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "(1+2j) * (3+4j)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "PxADwcB2ocA9",
        "outputId": "4ade4f43-76cb-480f-865a-70bc00c7d9af"
      },
      "execution_count": 29,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(-5+10j)"
            ]
          },
          "metadata": {},
          "execution_count": 29
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "1j * 1j"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "fz9yghT1odqE",
        "outputId": "38fd19d8-71b8-46e5-9a4a-03e6a4824654"
      },
      "execution_count": 30,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(-1+0j)"
            ]
          },
          "metadata": {},
          "execution_count": 30
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "z = (3+5j)\n",
        "z.real"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "yuHZBhM9ofM1",
        "outputId": "a6edb1e1-1dbb-4fb8-858a-a72a30309433"
      },
      "execution_count": 31,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "3.0"
            ]
          },
          "metadata": {},
          "execution_count": 31
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "z.imag"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "TSAsAoNsogx0",
        "outputId": "df66faed-2d1d-4a0b-8087-565a30e81976"
      },
      "execution_count": 32,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "5.0"
            ]
          },
          "metadata": {},
          "execution_count": 32
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "## 4.7.5 Advanced complex-number functions"
      ],
      "metadata": {
        "id": "rCwa27Hz0Sej"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import cmath\n",
        "cmath.sqrt(-1)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "wr6XRb7_oim4",
        "outputId": "94c00415-0492-413c-95cd-51e153778576"
      },
      "execution_count": 33,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "1j"
            ]
          },
          "metadata": {},
          "execution_count": 33
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "### Try This: Manipulating strings and numbers\n",
        "In the cell below, create some string and number variables (integers, floats, and complex numbers). Experiment a bit with what happens when you do operations with them, including across types. Can you multiply a string by an integer, for example, or by a float or complex number? Also, load the math module and try out a few of the functions; then load the cmath module and do the same. What happens if you try to use one of those functions on an integer or float after loading the cmath module? How might you get the math module functions back?"
      ],
      "metadata": {
        "id": "r7wL_czCS_od"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# enter you experiments in this cell"
      ],
      "metadata": {
        "id": "uOzCnEmkTbN7"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "# 4.9 Getting input from the user"
      ],
      "metadata": {
        "id": "PlSyGv_b0cmg"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "name = input(\"Name? \")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "2zXOWIdqoreo",
        "outputId": "fefe4a31-a241-47f5-b8a5-0b606e9b9399"
      },
      "execution_count": 36,
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Name? Naomi\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "print(name)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "vQAF6ENJo03r",
        "outputId": "d616e16d-a263-478c-b33a-a454af6bd3b6"
      },
      "execution_count": 37,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Naomi\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "age = int(input(\"Age? \"))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "UHfaYZNoouuw",
        "outputId": "0d131a36-947b-4366-dae0-cf61d5785869"
      },
      "execution_count": null,
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Age? 28\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "print(age)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "z2l4UfYcoxp7",
        "outputId": "55a8b25b-41f1-4897-81b7-052dafa80226"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "28\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "### Try this: Getting input\n",
        "Experiment with the input() function to get string and integer input. Using code similar to the previous code, what is the effect of not using int() around the call to input()for integer input? Can you modify that code to accept a float—say, 28.5? What happens if you deliberately enter the wrong type of value? Examples include a float in which an integer is expected and a string in which a number is expected—and vice versa.\n"
      ],
      "metadata": {
        "id": "uFs-G80TVkiZ"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# enter you experiments in this cell"
      ],
      "metadata": {
        "id": "wi98ZYL7o6BQ"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "###Quick Check: Pythonic style\n",
        "Which of the following variable and function names do you think are not good Pythonic style? Why?\n",
        "\n",
        "`bar(), varName, VERYLONGVARNAME, foobar, longvarname, foo_bar(), really_very_long_var_name`\n",
        "\n",
        "* `bar(`: Not good, not legal, includes symbol\n",
        "* `varName`: Not good, mixed case\n",
        "* `VERYLONGVARNAME`: Not good, long, all caps, hard to read\n",
        "* `foobar`: Good\n",
        "* `longvarname`: Good, although underscores to separate words would be better\n",
        "* `foo_bar()`: Good\n",
        "* `really_very_long_var_name`: Long, but good if all of the words are needed, perhaps to distinguish among similar variables\n",
        "\n"
      ],
      "metadata": {
        "id": "O6f19qmkVtho"
      }
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "nDZoFf8IXIPX"
      },
      "execution_count": null,
      "outputs": []
    }
  ]
}